#ifndef NETWORK_H
#define NETWORK_H

#include <netinet/in.h>
#include <stdint.h>

typedef struct sockaddr* SP;

typedef struct NetWork
{
	int fd;     //socket
	int type;   //SOCK_STREAM/SOCK_DGRAM
	socklen_t len; // 地址的长度
	struct sockaddr_in addr; // 通信地址
}NetWork;

// 创建网络链接
NetWork* open_network(char c_ro_s, int type, char* ip, uint16_t port);

// TCP的server专用
NetWork* accept_network(NetWork* nw);

// 发送数据
int nsend(NetWork* nw, void* buf, uint32_t len);

// 接收数据
int nrecv(NetWork* nw, void* buf, uint32_t len);

//关闭网络链接
void close_network(NetWork* nw);

#endif
